package com.ylsk.check.service;

import java.util.List;
import com.ylsk.check.domain.ChangeReport;
import com.ylsk.check.domain.dto.ChangeReportDTO;
import com.ylsk.check.domain.so.ChangeReportSO;
import com.ylsk.check.domain.vo.ChangeReportVO;

/**
 * 变动上报Service接口
 *
 * @author yangsy
 * @date 2024-01-08
 */
public interface IChangeReportService
{
    /**
     * 查询变动上报
     *
     * @param changeReportId 变动上报主键
     * @return 变动上报
     */
    public ChangeReportVO selectChangeReportByChangeReportId(Long changeReportId);

    /**
     * 查询变动上报列表
     *
     * @param changeReportSO 变动上报
     * @return 变动上报集合
     */
    public List<ChangeReportVO> selectChangeReportList(ChangeReportSO changeReportSO);

    /**
     * 新增变动上报
     *
     * @param changeReportDTO 变动上报
     * @return 结果
     */
    public int insertChangeReport(ChangeReportDTO changeReportDTO);

    /**
     * 修改变动上报
     *
     * @param changeReportDTO 变动上报
     * @return 结果
     */
    public int updateChangeReport(ChangeReportDTO changeReportDTO);

    /**
     * 批量删除变动上报
     *
     * @param changeReportIds 需要删除的变动上报主键集合
     * @return 结果
     */
    public int deleteChangeReportByChangeReportIds(Long[] changeReportIds);

    /**
     * 删除变动上报信息
     *
     * @param changeReportId 变动上报主键
     * @return 结果
     */
    public int deleteChangeReportByChangeReportId(Long changeReportId);
}
